﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.DynamicData;
using Mani.Common;

namespace Niazi.CRM.Business.Model
{
    [MetadataType(typeof(ContactMetaData))]
    [DisplayName("اشخاص")]
    [ScaffoldTable(false)]
    public partial class Contact : IAuditable
    {
    }

    public class ContactMetaData
    {
        [DisplayName("کد شخص")]
        [Display(Order = 1)]
        public object Id { get; set; }

        [DisplayName("نوع شخص")]
        [Display(Order = 20)]
        [Required(ErrorMessage = "پر کردن فیلد نوع شخص الزامی می باشد")]
        public object ContactType { get; set; }

        [DisplayName("شهر")]
        [Display(Order = 25)]
        [Required(ErrorMessage = "پر کردن فیلد شهر الزامی می باشد")]
        public object City { get; set; }

        [DisplayName("عنوان شخص")]
        [Display(Order = 40)]
        [Required(ErrorMessage = "پر کردن فیلد عنوان شخص الزامی می باشد")]
        public object ContactTitle { get; set; }

        [DisplayName("نام کامل انگلیسی")]
        [Display(Order = 60)]
        [Required(ErrorMessage = "پر کردن فیلد نام کامل انگلیسی الزامی می باشد")]
        [UIHint("en")]
        public object EnglishContactTitle { get; set; }

        [DisplayName("آدرس")]
        [Display(Order = 100)]
        [UIHint("MultilineText")]
        public object Address { get; set; }

        [DisplayName("کد پستی")]
        [Display(Order = 120)]
        [UIHint("en")]
        public object ZipCode { get; set; }

        [DisplayName("تلفن")]
        [Display(Order = 140)]
        [UIHint("en")]
        public object Phone { get; set; }

        [DisplayName("تلفن همراه")]
        [Display(Order = 160)]
        [Required(ErrorMessage = "پر کردن فیلد تلفن همراه الزامی می باشد")]
        [UIHint("en")]
        public object MobilePhone { get; set; }

        [DisplayName("فکس")]
        [Display(Order = 180)]
        [UIHint("en")]
        public object Fax { get; set; }

        [DisplayName("ایمیل")]
        [Display(Order = 200)]
        [UIHint("en")]
        public object Email { get; set; }

        [DisplayName("وب سایت")]
        [Display(Order = 220)]
        [UIHint("en")]
        public object Website { get; set; }

        [DisplayName("آخرین اپراتور")]
        [Display(Order = 975)]
        [ReadOnly(true)]
        public object Operator { get; set; }

        [DisplayName("آخرین به روز رسانی")]
        [Display(Order = 985)]
        [ReadOnly(true)]
        public object LastUpdate { get; set; }

        [DisplayName("تاریخ ایجاد")]
        [Display(Order = 995)]
        [ReadOnly(true)]
        public object CreateDate { get; set; }

        [ScaffoldColumn(false)]
        public object Airlines { get; set; }

        [ScaffoldColumn(false)]
        public object Newspapers { get; set; }
    }
}
